home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / flilib.zip / FLISRC.ZIP / COPYBYTE.ASM < prev    next >
Assembly Source File  |  1989-12-18  |  808b  |  42 lines

  1. ;copybyte.asm - contains i86_bcopy.
  2.  
  3. _TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  4. _TEXT    ENDS
  5. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  6. _DATA    ENDS
  7. CONST    SEGMENT  WORD PUBLIC 'CONST'
  8. CONST    ENDS
  9. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  10. _BSS    ENDS
  11. DGROUP    GROUP    CONST,    _BSS,    _DATA
  12.     ASSUME  CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  13. _TEXT      SEGMENT
  14.  
  15. ;i86_bcopy(source,dest,count)
  16. ;Copy count bytes from source to dest.  Actual copy is done a byte at a
  17. ;time.  No allignment restrictions on source,dest.  No parity
  18. ;restrictions on count.  Zero counts will trash memory!
  19.     public _i86_bcopy
  20. _i86_bcopy proc far
  21.     push bp
  22.     mov bp,sp
  23.     push ds
  24.     push si
  25.     push di
  26.  
  27.     cld
  28.     lds    si,[4+bp+2]
  29.     les    di,[8+bp+2]
  30.     mov cx,[12+bp+2]
  31.     rep movsb
  32.  
  33.     pop di
  34.     pop si
  35.     pop ds
  36.     pop bp
  37.     ret
  38. _i86_bcopy endp
  39.  
  40. _TEXT    ENDS
  41. END
  42.